#pragma once

#include <string>
#include "boostheaders.h"

class Log {
public:
    typedef boost::shared_ptr<Log> ref;
    static Log::ref getInstance();

    virtual ~Log();

protected:
    Log(){};
    
    
    static void setInstance(Log * log);
    //static Log::ref instance;

public:
	void msg(const std::wstring &message);
	void msg(const std::string &message);
	void msg(const char * message);
	void msg(const char * message, const char * message2);
	void delet(void);

protected:
    virtual void addLog(const wchar_t * msg);
	virtual void delLog(void);
};
